When constructing a computer system, the system is generally designed to avoid bottlenecks in resources such as networks and disk devices. In particular, external storage devices, which are slower than processors and the like, tend to be performance bottlenecks. Various measures are taken to overcome this in the design of systems. One of these is the optimization of the data storage formats used in the storage device.
For example, data access performance can be improved by storing frequently accessed data on high-speed disk devices and by distributing data across multiple disk devices. Also, when using RAID Redundant Array of Independent Disks) devices, data storage suited for access performance can be provided by determining a RAID level (redundancy structure) based on the sequentialness of data accesses to the RAID device.
In terms of system design, disk device capacity allocated for different sets of data must take into account the data storage formats used in the system. More specifically, this corresponds to determining the region sizes in database tables in a database and file system (FS) sizes in file systems. Generally, the amount of data that is handled increases with the usage of the computer system. Thus, when the system is being designed, the past performance in related operations and the like must be used to predict a rate of increase in data volume. The disk device capacities must be allocated so that there is enough free space to handle the predicted increases in data volume during a maintainable period. The data regions are determined based on this.
In designing systems in this manner, the combination of storage devices and data storage formats must take into account improvements in data access performance and increases in data volume. One means to assist in determining this combination is a Logical Volume Manager (LVM).
An LVM takes a partial region in an actual disk device and provides it to the host as a logically unified volume (this is referred to as a logical volume and will be referred to below as “LV”). The LVM manages LVs and also creates, deletes, and resizes (enlarges/shrinks) LVs.
The LVM also includes a mirroring function for providing redundancy in LVs and a striping function that arranges multiple physical volumes (PVs) in a dispersed manner.
When an LVM is used, the user places regions for storing data such as database tables and FSs not in PVs but in LVs. This facilitates the selection or management of data storage formats. For example, by placing the FS on an LV, an FS that can generally only be assigned to one disk device or one partition thereof can span across multiple disk devices. Also, by expanding LVs as file sizes increase, the FS can be expanded (reconstructed) with minimal work.